//package com.aiyige.page.my.localVideo;
//
//import android.content.Context;
//import android.content.Intent;
//import android.os.AsyncTask;
//import android.os.Bundle;
//import android.util.DisplayMetrics;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.ViewGroup;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
//import android.widget.ImageView;
//import android.widget.ListView;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//
//import com.aiyige.R;
//import com.aiyige.arouter.config.ARouterConfig;
//import com.aiyige.base.BaseActivity;
//import com.aiyige.page.my.localVideo.menuListview.BaseSwipeAdapter;
//import com.aiyige.page.my.localVideo.menuListview.MenuListItem;
//import com.aiyige.page.player.PlayerInfo;
//import com.aiyige.utils.TimeUtils;
//import com.aiyige.utils.UIHelper;
//import com.alibaba.android.arouter.launcher.ARouter;
//import com.bumptech.glide.Glide;
//
//import java.io.File;
//import java.io.Serializable;
//import java.util.ArrayList;
//import java.util.LinkedList;
//import java.util.List;
//
///**
// * 本地视频
// *
// * @author xiachao
// */
//public class LocalMovieActivity extends BaseActivity implements OnClickListener {
//
//    private final int RESULT_UPLOAD = 1;
//    private ListView listView;
//    private MovieAdapter adapter;
//    private NodataView nodataView;
//
//    private List<LocalMovieInfo> list = new ArrayList<LocalMovieInfo>();
//    private ReLocalMovieDao localDao;
//
//    @Override
//    protected void onCreate(Bundle arg0) {
//        super.onCreate(arg0);
//        setContentView(R.layout.page_local_movie);
//        initTitleLayout("本地视频");
//        initView();
//        initData();
//    }
//
//    private void initView() {
//        findViewById(R.id.back_iv).setOnClickListener(this);
//        findViewById(R.id.upload).setOnClickListener(this);
//
//        listView = (ListView) findViewById(R.id.list);
//        adapter = new MovieAdapter(this);
//        listView.setAdapter(adapter);
//
//        listView.setOnItemClickListener(new OnItemClickListener() {
//            @Override
//            public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
//                LocalMovieInfo info = list.get(position);
//                List<PlayerInfo> playList = new ArrayList<>();
//                playList.add(new PlayerInfo(info.getPath(),info.getFileName(), info.getImagePath(),true));
//                ARouter.getInstance().build(ARouterConfig.PlayerPage).withSerializable("playList",(Serializable) playList).navigation();
//            }
//        });
//        nodataView = (NodataView) findViewById(R.id.nodata);
//        nodataView.setRefreshListener(new NodataView.RefreshListener() {
//            @Override
//            public void onRefresh() {
//                loadData();
//            }
//        });
//    }
//
//    private void initData() {
//        localDao = new ReLocalMovieDao();
//        loadData();
//    }
//
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()) {
//            case R.id.back_iv:
//                finish();
//                break;
//            case R.id.upload:
//                Intent intent = new Intent(this, AllFilesActivity.class);
//                intent.putExtra(AllFilesActivity.INTENT_SINGLE_SELECT, true);
//                intent.putExtra(AllFilesActivity.INTENT_TYPE, AllFilesActivity.TYPE_VIDEO);
//                startActivityForResult(intent, RESULT_UPLOAD);
//                break;
//            default:
//                break;
//        }
//    }
//
//    /**
//     * 加载数据
//     */
//    private void loadData() {
//        new AsyncTask() {
//            @Override
//            protected Object doInBackground(Object[] params) {
//                List<LocalMovieInfo> data = localDao.queryLocalMovies();
//                List<LocalMovieInfo> existMovies = new LinkedList<LocalMovieInfo>();
//                for (LocalMovieInfo info : data) {
//                    if (isExits(info.path)) {
//                        existMovies.add(info);
//                    } else {
//                        localDao.removeLocalMovie(info);
//                    }
//                }
//                return existMovies;
//            }
//
//            @Override
//            protected void onPostExecute(Object o) {
//                list.clear();
//                list.addAll((List<LocalMovieInfo>) o);
//                adapter.notifyDataSetChanged();
//                showNodataView();
//            }
//        }.execute();
//    }
//
//    private boolean isExits(String path) {
//        File file = new File(path);
//        return file.exists();
//    }
//
//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//        if (resultCode == RESULT_CANCELED) {
//            return;
//        }
//        if (requestCode == RESULT_UPLOAD) {
//            saveBySelfPhoto(data);
//        }
//    }
//
//    /**
//     * 通过自己相册取视频
//     *
//     * @param data
//     */
//    private void saveBySelfPhoto(Intent data) {
//        if (null != data && null != data.getSerializableExtra("data")) {
//            SysFileInfo fileInfo = (SysFileInfo) data.getSerializableExtra("data");
//            LocalMovieInfo info = new LocalMovieInfo();
//            info.setPath(fileInfo.getPath());
//            info.setImagePath(fileInfo.getImgPath());
//            info.setFileName(fileInfo.getName());
//            info.setDuration(fileInfo.getDuration());
//            info.setDateTime(System.currentTimeMillis());
//            info.setSize(fileInfo.getSize());
//            localDao.addLocalMovie(info);
//            loadData();
//        }
//    }
//
//    /**
//     * 本地视频适配器
//     *
//     * @author dance
//     */
//    private class MovieAdapter extends BaseSwipeAdapter {
//        private Context mContext;
//        private int width, height;
//
//        public MovieAdapter(Context context) {
//            mContext = context;
//            DisplayMetrics dm = getResources().getDisplayMetrics();
//            width = dm.widthPixels * 2 / 5;
//            height = width * 9 / 16;
//        }
//
//        @Override
//        public int getCount() {
//            return list == null ? 0 : list.size();
//        }
//
//        @Override
//        public Object getItem(int arg0) {
//            return list.get(arg0);
//        }
//
//        @Override
//        public long getItemId(int arg0) {
//            return arg0;
//        }
//
//        @Override
//        public View generateView(final int position, ViewGroup parent) {
//            View v = LayoutInflater.from(mContext).inflate(R.layout.local_movie_item, null);
//
//            MenuListItem view = new MenuListItem(mContext, false);
//            view.setContentView(v);
//            view.setMenuWidth(UIHelper.dip2px(mContext, 100));
//            view.setMenuListener(new MenuListItem.MenuListener() {
//                @Override
//                public void onEdit() {
//                }
//
//                @Override
//                public void onDelete() {
//                    if (position >= list.size()) {
//                        return;
//                    }
//                    closeItem(position);
//                    // 删除
//                    LocalMovieInfo info = list.get(position);
//                    localDao.removeLocalMovie(info);
//                    list.remove(position);
//                    adapter.notifyDataSetChanged();
//                    showNodataView();
//                }
//            });
//            return view;
//        }
//
//        @Override
//        public void fillView(int position, View v) {
//            final LocalMovieInfo info = list.get(position);
//            ImageView imageView = (ImageView) v.findViewById(R.id.image);
//            TextView titleView = (TextView) v.findViewById(R.id.title);
//            TextView timeView = (TextView) v.findViewById(R.id.time);
//
//            RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
//            if (null == lp) {
//                lp = new RelativeLayout.LayoutParams(width, height);
//            }
//            lp.width = width;
//            lp.height = height;
//            imageView.setLayoutParams(lp);
//
//            titleView.setText(info.getFileName());
//            timeView.setText(TimeUtils.getStandardDate((info.getDateTime()/1000)+""));
//            Glide.with(LocalMovieActivity.this).load(info.getImagePath()).into(imageView);
//        }
//
//        @Override
//        public int getSwipeLayoutResourceId(int position) {
//            return R.id.swipe;
//        }
//
//    }
//
//    private void showNodataView() {
//        if (null == list || list.isEmpty()) {
//            nodataView.showNodataView();
//        } else {
//            nodataView.hideView();
//        }
//    }
//}
